package Hanoi3.disque;

public class Disque2 extends Disque implements Empilable<Disque> {

	private int val2;

	public Disque2() {
	}

	public void init(int v) {
		val = v;
		val2 = 2 * v;
	}

	public String toString() {
		return "Disque2[" + val + ", " + val2 + "]";
	}

	/*
	 * Une redefinition de compareTo juste pour montrer dans les traces qu'on
	 * appelle bien la bonne methode. La methode doit etre compatible avec la
	 * version de la super-classe (par exemple si on travaille sur une tour qui
	 * melange des instances de Disque et de Disque2)
	 */
	public int compareTo(Disque d) {
		if (d.val < this.val) {
			return 1;
		}
		if (d.val > this.val) {
			return -1;
		}
		if (d.val == this.val)
			return 0;
		return val2;// unreachable, mais compilateur couine
	}
}
